If the language in Firefox is set to something other than "English (United States)", the spell checker might not work despite the setting "Check your spelling as you type" checked in the preference screen. Here is what I have
In my case the language was selected as "English (United Kingdom) but still the spellchecker wasn't working. It took me a while to figure out you need to install a dictionary manually for your selected language. Head to Dictionaries and Language Packs page and download the Dictionary for the language you have selected.
Having recently switched from Chrome to Firefox, it feels strange that something like this wasn't taken care of by the browser itself.