In Microsoft Outlook 2007 the spell checker does check the content of the subject line. It does not do this as you type, so you don't get the squiggly lines under the misspelled words. You can configure Outlook to check spelling before you send the message.
- Select Tools > Options
- Click the Spelling tab
- Put a tick in the box Always check spelling before sending
I expect this will work for other versions of Outlook. It did work in Outlook 2003.
Yahoo mail does not have spell checker. Firefox will check the spelling of text typed into fields with more than one line of text (see this page). The subject line in a Yahoo mail form appears to be a single line of text, so Firefox doesn't check it. The body of the message is multiple lines, so Firefox does check it.