Your MacBook Pro does not have a GPS adapter. Geo location usually works on either looking up your IP address and nearby WiFi networks in an online database, while the latter usually gives better results. Location providers keep large databases of all WiFi networks and their location. For example, Google collects them while shooting photos for StreetView and also mobile phones collect them all the time. Looking up your location transfers a list of all networks in range to such a provider who guesses a location based on this list.
If you recently moved to another town, chances are high your own WiFi network moved with you but is still in these databases at the old location. Maybe there aren't more many more networks in range or they are unknown to the location provider. Thus, any geo location lookup returns your hometown as that is the only known spot where this WiFi network existed.
You could try to disable Airport and connect to the internet using a cable. This way the location provider only has your IP address as a fallback. At least this should give you a different result.