You can only have one thing listening on that one IP, port 80. So, you'll use either nginx or apache directly on port 80. Whichever it is, it's up to you.
If you're using nginx in front, you'll need Apache to listen to some other port, and then proxy the other virtual hosts to that Apache. And, of course, if you have Apache in front, you'll need to proxy that domain to your nginx (which will be listening to some other port).
Which method is easier depends on your configuration, though I think nginx in front may have the edge for that.
Update:
In nginx, the virtual host matching is from most specific to least, so if you have two virtual host blocks, where you specific your specific domain and all the related config, and the other being just matching on port 80 without a servername set, you should be able to handle your scenario. If it's a request on your specific domain, you should match that configuration. If the request is on some other domain, it should match on the default virtual host, which you should have it set to proxy to Apache.