The hardest thing is preventing spam and having quickly surveyed your site,
this page here actually shows an email address which means that "spamming" you makes it fairly simple. The trouble with having any business though will be spam, as one cannot help but advertise themselves, without spam attacks following
You could perhaps try setting up a spam catcher on your server to "filter" out certain emails, so they are cut down
Changing the FTP hosting passwords is just a co-incidence - I expect the spammers took the day off

If the spam is coming through your contact forms, then a javascript form validation will help cut down some of it. The other alternative is to setup a new email address and use that one, but hide it via a form to allow clients to contact you
If you PM me perhaps I can send you an email with some further suggestions