It's fine to run web and mail services on the same server, provided it can cope with the load. There are situations in the wild where it is appropriate to separate your services across multiple servers, but I wouldn't do it unless you know loading will be an issue (or you have other motivations). From your description it sounds like a single server will be sufficient. You can always upgrade your instance or split your services out to more servers in the future if you need to.
You haven't specified what mail services you want to run or the mail server software you'd like to use, but I know that Postfix SMTPd supports receiving mail for multiple domains. This Ubuntu help page goes over how to set up Postfix with IMAP, POP, forwarding, and multiple domains: