As Colin already pointed out, a factory-reset clears all apps, data, and cache from things installed/edited in user mode (i.e. without root or system privileges, see our factory-reset tag-wiki for details). So yes, if you didn't root your device, it's pretty safe to assume a factory-reset removes those "spy apps" along.
Concerning "checking for spy apps": There are plenty of apps on Google Play claiming to do that. However, it might be hard to decide what makes an app a "spy app": Recording audio? Fully legit for an audio recorder. Taking pictures/videos? A video recorder/camera app is supposed to do that. Still, there are several "frameworks" or "ad-modules" known as being suspicios, and apps using them will be presented by e.g. Lookout Ad Network Detector, Privacy Scanner (Antispy) Free, AppBrain Ad Detector (to name my 3 favorites here), and similar tools – which often even offer you to remove "offenders".