You can have multiple domains in the same tenant, and it's the preferred configuration for any scenario involving collaboration between people in said domains.
As for sending/receiving messages, things are trickier because Exchange Online only allows you to send by the primary SMTP address by default. You can have multiple addresses, associated with any number of domains, and receive messages just fine in the same mailbox. When it comes to sending though, you will have to use one of the available workarounds or third-party tools. This is a topic that is often discussed, so do a search online to find detailed descriptions of said workarounds/tools.