On a linux system the installed mail transfer agent will be used for sending mail. This is sendmail on many systems, but can also be postfix, qmail or another package.
If I understand the question, Postfix handles outbound emails correctly as long as they have to be delivered to "foreign" domain names, but it tries to deliver emails with known domainnames to your local server, where you would like to have them delivered to Google Apps instead.
The problem here might be the confusion in Postfix between the virtual alias table, and virtual domain list. The virtual alias table is a list of email addresses and where they should be delivered, virtual domains are the domains that should be treated as local domains. If you empty the aliases list, Postfix won't know which email address matches to which user anymore, but as long as your domains are listed as virtual domains, it still will try to deliver messages locally. Because it has no translation list from email addresses to mailboxes, these deliveries will fail.
You should look in your configuration file for the $virtual_mailbox_domains parameter, and remove all domains which should be forwarded to Google Apps instead of delivered locally.
A detailed but somewhat technical explanation of the processing of virtual addresses in Postfix can be found here [postfix.org].