Much ink has been spilled on this subject, and I guess the short answer to the question is that one can say both. “Arabian” refers to “Arabia” the land, like “English” does to “England”. When one says “Arabian horse”, they link the horse to “Arabia” the land. When one says “Arab horse”, they link the horse to the “Arab” people. “Arabia” the land and “Arab” the people are related, because “Arabia” is how the Romans called the “lands of the Arabs”. The term was carried over from Latin to other European languages. So you’d think that the difference does not really matter, because both “Arabian horse” (the horse of/from the “land of the Arabs”) and “Arab horse” (the horse of/from the Arabs”) eventually go back to “Arab” in the end. But “Arabia” and “Arab” are not exclusively related: not all the people who ever inhabited (or still inhabit) Arabia were (are) Arab. Persians, Hebrews and Ethiopians did live there too. So did a lot of non-Arab ancient people who were native to Arabia. Of these, the Sabaeans of Queen of Sheba fame are the best known today. Personally, I would go for “Arab horse”, although I have used both terms…