SVCHOST.EXE is a generic host process used to run those services that are compiled as DLLs instead of being standalone executables; there are usually various instances of SVCHOST.EXE running in a Windows system, each one hosting multiple services.
You can't monitor such a service based only on the executable name.
I for myself don't know Nagios at all, but I think this article should help you, especially with this example:
define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
It's using SERVICESTATE instead of PROCSTATE, and looks like it recognizes Windows Service names: W3SVC is the short name of the World Wide Web Publishing Service; you should be able to replace it with the short name for the NPS service and monitor that one, too.
P.S. The article is the first result generated by putting "nagios windows service" in Google; that's how I found it.