Beide Sätze sind grammatisch eigentlich richtig. Trotzdem klingen beide - für mein Ohr als Muttersprachler - etwas holprig.
Was würde man in einer typischen Alltagssituation sagen?
A: Guten Tag, sprechen Sie Ungarisch?
B1: Nein, tut mir leid, ich spreche kein Ungarisch.
B2: Tut mir leid, Ungarisch spreche ich nicht.
B3: Ungarisch? Nö.
Möglicherweise hängt das Unwohlsein, das man mit den Beispielsätzen aus der Eingangsfrage empfindet, auch damit zusammen, dass ein Satz wie "Ich kann kein Deutsch sprechen" (auf Deutsch gesprochen!) in sich widersprüchlich ist. Dies hintangestellt wäre aber die bessere (glattere, üblichere) Formulierung immer noch:
Ich spreche kein Deutsch.
Ich spreche nicht Deutsch.
Also ohne "kann". Man fragt auch üblicherweise nicht "Kannst du Deutsch sprechen" sondern
Sprichst du Deutsch?
oder auch, etwas legerer
Kannst du Deutsch?
"Kannst du Deutsch sprechen" ist offenbar ein bisschen überformuliert (zu sorgfältig, mit zu viel Aufwand formuliert) und fällt deswegen auf als Satz eines ungeübten Sprechers.
Darum auch die kurze Antwort "Ungarisch? Nö." oben von B3. Diese wäre in einer Alltagssituation vermutlich von den dreien am häufigsten anzutreffen. Die anderen sind eigentlich auch überformuliert.