Comme d'habitude, Wikipedia est une excellente ressource :

Malgré de nombreuses étymologies populaires, l'origine de ce terme ne fait plus débat. La première occurrence attestée date de 1839 dans le Boston Morning Post comme abréviation de "Oll Korrect", altération graphique de all correct, version familière de l'époque du all right (tout est bien, tout va bien) britannique. En 1840, le terme a été utilisé par des partisans de Martin Van Buren, élu à la présidence des États-Unis en 1837, et surnommé Old Kinderhook (le vieux de Kinderhook) du nom de son village natal. Un club de soutien s'est créé à New York sous l'appellation de « O. K. Club » (23 mars 1840).

...

Etymologie populaire : O. K. proviendrait de la Guerre de Sécession, où les sudistes, après une bataille, annonçaient le nombre de morts. Lorsqu'il n'y en avait pas, on annonçait « 0 killed », donc « OK, tout va bien » (dans le monde anglo-saxon, le zéro s'exprime souvent de façon orale comme la lettre « O », par exemple lorsqu'on donne un numéro de téléphone). ...

(source : http://fr.wikipedia.org/wiki/O.K.)