Google Maps and OSM show exactly the same position. Everything else would be odd.
However you are mixing up lat and lon. OpenLayers.LonLat()
accepts first lon, then lat as the name already tells you. But you are passing lat first and then lon, which will result in a completely different position of course.