What is the source of the historical error that the zero was from the Middle East and not where it is really from, namely India?
It was quite likely due to European scholars referring Arabic texts. These texts often drew inspiration from Eastern (esp. Indian and Chinese) works. However, the Arabic authors (for some reasons I am not aware of) did not properly attribute the works and therefore, European mathematicians may have thought of zero's origins as being Arabic.
But, of course, that is not to say that zero had 'Indian' origin. What is currently known is that, oldest text to explicitly refer to zero was Indian. But, its use may well be dated before that in ancient Greece, China and other civilizations.