Certificates (and the corresponding private key) are just files: they can be shared among servers as you please. However, the whole idea behind the "Public Key Infrastructure" is that the connecting client will match the hostname used with the hostnames embedded in the certificate.
So you can easily share a certificate for, let's say, hostname A between servers X and Y. And if a client tries to connect to hostname A and ends up actually connecting to server X, this would be fine, as server X has the certificate for hostname A. But if a client would connect to hostname B and would end up at server Y, also using the certificate for hostname A, this would result in an error, because A is not equal to B.
Now, there are of course some situations where sharing certificates between servers is required, for example, if you have multiple servers for a single hostname/site, used for load balancing. And you can add multiple hostnames to a single certificate, which you then might share between multiple servers responsible for those hostnames. The bottom line is: the client connects to a hostname and that hostname has to match with the certificate presented by the server.
Now, to get to your question:
Will clients connect to the company2 server with the hostname for company1? Can you present perhaps more details? It's a little bit vague now to me.