For more info on Dovecot: http://wiki.dovecot.org/LDA
Add the following at the bottom of master.cf
# spamassassin then dovecot LDA
dovecot unix - n n - - pipe
flags=DRhu user=vmail:mail argv=/usr/bin/spamc -u randomuser -e /usr/libexec/dovecot/deliver -f ${sender} -d ${recipient}
Basically, postfix pipe the mail into spamc, and since you don't want to run it as root you use another user (-u). -e redirects the output from spamc for dovecot to deliver. And postfix tells dovecot who the sender is, and who the recipient is.
Add the following to main.cf
mailbox_command = /path/to/dovecot/deliver
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
Now just restart postfix and you are done. Depending on how you setup the virtual domain database, it works for multiple domains.