It's unusual to go co-lo with only one server and only one sysadmin. The point at which it seems worthwhile to me is at about 20 servers and two sysadmins. Some of the benefits that having your servers managed can provide you are:
- 24/7 monitoring
- Remote hands
- In-stock spare parts
With only one server, your backups are tied to the same hardware as the original unless (as you hinted at) you rent another server to put the backups on. Many hosting companies offer backup services that have redundancy built in.
The same applies to your monitoring; if you run Nagios on your only server and it goes down, Nagios goes down with it and can't alert you. Most hosting providers will monitor your servers for hardware faults and will monitor the services running on those servers. They will usually also log in and restart services and if it's more complicated than that, you can talk them through troubleshooting on the phone.
In order to have a reliable and fault-tolerant system you will need at least two servers. They should probably be identical, both running the same services and each monitoring and providing backups the other. You can buy two servers that are half as powerful for the same total capacity as the single, more powerful server but now you have a greater potential for high availability.
With co-location, you are responsible for more of the system, meaning that there are more things that can go wrong that you will have to deal with yourself. If a hard drive dies, you will have to order a new one and organise a trip to the data centre to install it. A managed hosting provider will have the right kind of hard drive in the data centre and will have it replaced within the same day. If the web daemon dies in the middle of the night, there's no one to log in and restart it but you.
Managed hosting providers usually also provide you with a short-term price benefit. My experience is that after 10 months of renting a server you have usually spent as much as it would take to buy the server outright. If you buy your servers and co-locate them, you will be out of pocket for the first year or so and will be better off after that.
At a certain size, co-location makes a lot of sense. Before that size, it's likely to result in a greater up-front cost and lot of stress. It can really blow your budget if you have to hire a pimply faced youth to help manage the system.
As for your other two questions, choosing between nginx and Apache depends greatly on your traffic and your app. I would go with the one you are most familiar with for now and evaluate again if you run into any problems (such as memory usage or concurrent requests). Specs for a server are similarly dependent on your app and your traffic. For this reason (the answer will be useless to anyone else) and also because the answer will go out of date very quickly, these sorts of shopping questions are considered off-topic here.