It is certainly due to a regional difference, but the situation is a bit subtle and dear to my heart, so please indulge me a bit while I briefly give some historical context.
Italian was born as the written language of the educated classes of Italy in the late Middle Ages and the Renaissance. Without entering too much in the details, it remained an exclusively written language until the unification of Italy in 1861.
Fuori di Roma e fuori della Toscana, al sistema linguistico italiano si faceva ricorso solo negli scritti e solo nelle occasioni più solenni (e nemmeno, come si vedrà, in tutte). Per secoli, la lingua italiana, unica tra e lingue nazionali dell'Europa moderna e come poche altre lingue arioeuropee di cultura, ha vissuto soltanto o quasi soltanto come lingua di dotti: il patriottico affetto nutrito per essa dai letterati è stato, e ora si vede bene il perché, la più forte ragione della sua sopravvivenza nelle varie regioni del paese.
Outside of Rome and outside of Tuscany, people resorted to the Italian linguistic system only in writings and in the most solemn occasions (and not even in all, as we shall see). For centuries the Italian language, alone among the national languages of modern Europe and like only few of the Indoeuropean cultural languages, lived only or almost only as language of the educated: the patriotic affection the intellectual had for it was, and now we see well why, the strongest reason for its survival in the various regions of the country.
(Tullio De Mauro, Storia linguistica dell'Italia unita, pg. 27)
As such, each person's pronunciation of a given Italian word was strongly influenced by the phonotactics and phonology of their regional language. After the unification, there were several attempts at a standardization on various models (Alessandro Manzoni pushed for the contemporary Florentine pronunciation, under the Fascism the Roman pronunciation was set as a standard etc.), but for our present interests, the current standard was set in 1969 in the form of the Dizionario d'Ortografia e di Pronunzia, which is essentially a contemporary Florentine pronunciation shed of the characteristics that would be unacceptable to other speakers. This is supposed to be the form that all "professionals of the word" (actors, TV anchors etc) use. The truth is however that very few Italians, if any at all, do so.
Viceversa, quasi nessun parlante si sottrae all’impronta della zona d’origine, oltre che per il modo d’articolare i singoli foni, per l’intonazione (o calata o, genericamente, accento) che ne scandisce le frasi. [...]
[L]a sanzione sociale di fronte alle pronunce regionali è in genere modesta (anche se la caricatura di un uomo politico, per esempio, faccia leva in primo luogo proprio sugli eventuali tratti regionali del suo modo di parlare) ed è comunque molto meno marcata della censura ortografica: chi scriva subbito è considerato un ignorante, chi dice ['subbito] passa inosservato o quasi
Conversely, almost no speaker is excepted from the imprint of the region of origin, beyond the way they articulate the single phones, for the intonation (or
prosody or, generically, accent) marking their sentences. [...]
The social sanction regarding regional pronunciations is generally modest (even if the caricature of a politician, for example, leveraged mainly the regional traits of their speech) and is in any case much less strong than the orthographic reprimand: one who writes subbito is considered ignorant, one who says ['subbito] passes unnoticed, or almost so.
(Luca Serianni, Grammatica italiana, I.27-28)
In fact, some linguists (notably Giulio Lepschy) have contested the existence of a standard at all, considering the DOP standard to be a futile exercise in imposing a structure in a continually changing matter.
Let us now take a look at the case in the question: the word cosa. The DOP mandates the pronunciation /'kɔsa/, which should maybe considered the "standard" pronunciation. However the intervocalic s has a great variation on a regional basis:
In northern Italy we find only [z], and in central and southern Italy only [s] in an intervocalic position: so [s] and [z] are allophones in complementary distribution: they are phonologically opposed only in Tuscan.
(Anna Laura Lepschy and Giulio Lepschy The Italian language today, pg. 72)
So you can expect to find it regularly pronounced as /'kɔsa/ in the Center and the South of Italy, and /'kɔza/ in the North (this ignores the even bigger regional variations in the pronunciation of the vowels), having thus a rough 50-50 split in the speakers. Note that on Forvo you can find the geographical origin of a speaker by clicking on their name.
It is particularly notable that the other great dictionary of Italian pronunciation, the DiPI by Luciano Canepari, recommends /'kɔza/ (while noting that it is not the traditional pronunciation), thus showing that no consensus on the matter is actually present (and it is maybe even impossible).
The DiPI is in my opinion particularly valuable for a language learner, because it doesn't just list one pronunciation, but actually a whole range (recommended, traditional, acceptable, tolerated, shabby, intentional and aulic) plus some information on the regional variations in Central Italy. On the flip side it takes a while to get used to its very condensed notation.