Sure. You are going to be using some method to check the remote services in the first place, nominally nsclient++ for windows of NRPE for *nix or similar. As you can use NRPE (or the NRPE functionality built into nsclient++) to create custom checks using scripts local on the box, you can also use it to create custom scripts to restart a service in exactly the same manner, you just need to define the command objects and configure NRPE appropriately to run it on the remote server. So you will need to...
[list]Get NRPE (or the nsclient++ NRPE daemon) working if you haven't already[/list:u][list]Write your script on the remote server to restart the service[/list:u][list]Configure NRPE to fire the script when called by nagios[/list:u][list]Write your event handler script to call the remote restart script via NRPE when the service fails[/list:u]
You can find more info on NRPE here - nagios.sourceforge.net/docs/nrpe/NRPE.pdf
Hopefully that will set you on the right path