SpamAssassin is only analyzing mails coming to local users, but almost every email that gets to that servers, is later sent to other servers inside our VPN. So is there any way to check every mail, including those for mails on external servers?
Integrate at the MTA layer, instead of at the MDA layer via procmail. Use a milter, or a tool like MailScanner, amavisd-new, etc.
There's some good info about various MTA layer integrations in the wiki.