There are multiple reverse geocoding APIs available for OpenStreetMap (since the data is open-source, anyone can build one). The two that I would recommend you investigate further are:
- Nominatim, run by a member of the OSM community as a volunteer project. Reverse Geocoding documentation
- CloudMade Geocoding, run as a commercial service. Reverse Geocoding documentation (at the bottom)
Of the two, I would recommend Nominatim. If you are building a large service and are generating lots of requests, you can even run your own copies of nominatim on your own servers.