Do I have an obligation to give back extra change I receive? Would it matter if the store owner or person giving it to me was a Jew?
(Source: this article on Torah.org)
If the one who made the mistake is a Jew: Absolutely yes, you must return it.
If the one who made the mistake is a non-Jew: there's lots of discussion, and it appears it's not so clear. But remember: doing so anyways will create a Kiddush Hashem (and is probably the right thing to do).
To quote a relevant story retold by Rabbi Pinchos Bodner:
The general principle involved here is טעות עכו"ם - mistakes of a non-Jew. Halachically giving the wrong change is a mistake falls under the general rubric of returning lost objects. Halacha requires one to go to great lengths to return lost objects, but limits this to fellow Jews. If something is found in a location where it is most likely that it was a non-Jews item, then there is no such obligation.
This case falls under that category. By making the mistake, they essentially lost something, and you don't have to return it. However, there are several caveats to this.
The Tzomet institute has a long article on this and other subjects relating to monetary dealings with non-Jews which has a nice collection of sources (including that rather obscure Sefer Chassidim reference).
Adapted from my answer to this similar question.