Fatti: A. L'8 maggio 2004 B._ inseriva la propria carta bancaria, digitando il relativo codice e l'ammontare richiesto, in uno sportello automatico esterno della UBS di Peseux con l'intenzione di prelevare la somma di fr. 1'000.--. Dato che l'apparecchio le era sembrato difettoso essa abbandonava rapidamente la zona del bancomat, dopo avere ripreso la propria carta ma senza ritirare denaro. La scena veniva osservata da A._, il quale stava attendendo il suo turno per prelevare a sua volta denaro dallo stesso apparecchio. Nel frattempo il bancomat aveva erogato a carico del conto di B._ la somma di EUR 1'000.-- in banconote da cinquanta (verosimilmente per un errore di manipolazione della stessa cliente) e A._, che si era avvicinato per il suo turno, se ne appropriava versando poi la somma in questione sul suo conto bancario, mediante separate operazioni del 9 e del 10 maggio 2004. La cliente si accorgeva dell'irregolarità soltanto il 5 giugno 2004 dopo avere ricevuto l'estratto conto della banca e avere preso contatto con un responsabile della stessa. B. Il 22 febbraio 2005 il Tribunal de police du district de Boudry dichiarava A._ autore colpevole di furto e lo condannava alla pena di 60 giorni di detenzione sospesi per un periodo di prova di due anni. Tale sentenza veniva confermata dalla Cour de cassation pénale du Tribunal cantonal du canton de Neuchâtel, la quale in data 17 agosto 2005 respingeva il ricorso interposto dal condannato contro il giudizio di primo grado. C. A._ impugna mediante ricorso al Tribunale federale la sentenza dell'ultima istanza cantonale domandandone sostanzialmente l'annullamento. Postula altresì di essere posto a beneficio dell'assistenza giudiziaria. D. La Cour de cassation pénale du Tribunal cantonal ed il Ministère public du canton de Neuchâtel rinunciano a formulare osservazioni in merito al ricorso, di cui l'accusatore pubblico domanda comunque la reiezione.