This is exactly what "query feature" on the http://osm.org/ map does, using [Overpass Turbo][1]:
[timeout:5][out:json];is_in(lon,lat)->.a;way(pivot.a);out [timeout:5][out:json];is_in(lat,lon)->.a;way(pivot.a);out tags geom({{bbox}});relation(pivot.a);out tags bb;
Where you need to replace `lon` and `lat` with the coordinates of the point, and replace `{{bbox}}` by the current map bounding box (if you need that). This gives you the elements *surrounding* the given point. Note that this also returns administrative boundaries (county, state, etc.), not just physical elements - you'd need to filter on this, perhaps by throwing away `boundary` relations etc. See e.g. [this query][2] - note that the largest enclosing feature is the entire country.
Also, this will give you *enclosing* features - so for a highway (which is usually an unclosed way), you wouldn't get a usable result. For that, you may need the other query, "nearby features":
[timeout:5][out:json];(node(around:radius,lon,lat);way(around:radius,lon,lat));out [timeout:5][out:json];(node(around:radius,lat,lon);way(around:radius,lat,lon));out tags geom({{bbox}});relation(around:radius,lon,lat);out geom({{bbox}});relation(around:radius,lat,lon);out geom({{bbox}});
Again, you need to replace `lon`,`lat`,`{{bbox}}`, and in addition `radius` (how far from the point to look, not sure of the unit) with your data. See e.g. [this query][3] - note that by setting the radius too high, there will be many objects; but with a radius too low, there may not be anything found. Depending on your goal, perhaps you might want to start out small and increase the radius in a few steps.
Pay attention also to the freshness data returned with results - Overpass uses its own cache, and updates it from the main db; this can sometimes take *days*, so newest edits may not be returned in the results immediately.
[1]: http://wiki.openstreetmap.org/wiki/Overpass_turbo
[2]: http://overpass-api.de/api/convert?data=%5Btimeout%3A5%5D%5Bout%3Ajson%5D%3Bis_in(50.08417%2C14.35882)-%3E.a%3Bway(pivot.a)%3Bout%20tags%20geom(50.08157175512576%2C14.357349872589111%2C50.08436684351692%2C14.374194145202637)%3Brelation(pivot.a)%3Bout%20tags%20bb%3B&target=compact
[3]: http://overpass-api.de/api/interpreter?data=%5Bout%3Ajson%5D%5Btimeout%3A5%5D%3B%28node%28around%3A35%2C50%2E08417%2C14%2E35882%29%3Bway%28around%3A35%2C50%2E08417%2C14%2E35882%29%3B%29%3Bout%20tags%20geom%2850%2E0824805209559%2C14%2E355810284614563%2C50%2E08604657192704%2C14%2E362789392471315%29%3Brelation%28around%3A22%2E5%2C50%2E08417%2C14%2E35882%29%3Bout%20body%20geom%2850%2E0824805209559%2C14%2E355810284614563%2C50%2E08604657192704%2C14%2E362789392471315%29%3B%0A