Faits: A. A._ est titulaire du permis de conduire depuis le 20 mai 1970. Aucun antécédent en matière de circulation routière ne figure à son dossier. Le 16 mai 2006, il circulait au volant de son véhicule en ville de Genève, lorsqu'il a eu une altercation avec un autre usager de la route, B._. Celui-ci, un appointé de gendarmerie en congé, reprochait à A._ d'avoir omis de lui céder la priorité. Accusant le prénommé de l'avoir agressé avec une matraque et heurté avec son véhicule lorsqu'il a tenté de l'empêcher de quitter les lieux, B._ a déposé une plainte pénale contre A._. Celui-ci a été arrêté par la police judiciaire, qui a saisi son permis de conduire le lendemain. Comme l'intéressé était en possession d'un couteau à cran d'arrêt lors de son arrestation, la police a procédé à une visite domiciliaire, au cours de laquelle diverses armes ont été saisies. Par décision du 26 mai 2006, le Service des automobiles et de la navigation du canton de Genève (ci-après: le SAN; devenu l'Office cantonal des automobiles et de la navigation) a prononcé un retrait du permis de conduire à titre préventif et a soumis A._ à un examen approfondi par l'Institut universitaire de médecine légale (ci-après: l'IUML) afin de déterminer son aptitude à la conduite. Cette décision était motivée par les faits exposés ci-dessus, tels que décrits par le plaignant B._. Le recours formé contre cette décision par A._ a été retiré le 3 octobre 2006. Le rapport d'expertise de l'IUML, rendu le 11 mai 2007, a conclu que A._ était inapte à la conduite. Ce rapport se fondait sur les événements du 16 mai 2006, tels qu'ils avaient été décrits par le plaignant. Il précisait notamment que l'expertisé n'admettait qu'une partie des faits qui lui étaient reprochés et qu'il expliquait avec véhémence les circonstances de "l'infraction commise". Un examen psychologique du 11 décembre 2006 avait mis en évidence des idées quasi délirantes à thème de persécution, en relation avec un "complot orchestré par la police". Un examen psychiatrique du 30 mars 2007 avait confirmé ce constat et permettait de conclure à un trouble de la personnalité sévère, de type paranoïaque. Selon les experts, le potentiel de dangerosité hétéro-agressif, l'anosognosie du trouble et l'absence de prise en charge constituaient des motifs d'inaptitude à la conduite pour raisons psychiatriques. Par décision du 29 mai 2007, le SAN a retiré le permis de conduire de A._ pour une durée indéterminée, en application de l'art. 16d de la loi fédérale du 19 décembre 1958 sur la circulation routière (LCR; RS 741.01). Cette décision se fondait sur le rapport d'expertise susmentionné. Le 27 juin 2007, A._ a recouru contre cette décision auprès du Tribunal administratif du canton de Genève (ci-après: le Tribunal administratif). B. Le 22 novembre 2007, le Procureur général du canton de Genève a classé la plainte déposée par B._ contre A._. Il a relevé qu'aucun des témoins de l'altercation n'avait pu confirmer le coup de matraque allégué et qu'à aucun moment il n'y avait eu mise en danger de la vie d'autrui. Par ordonnance du 14 mai 2008, la Chambre d'accusation du canton de Genève a rejeté le recours formé par B._ contre cette décision. Cette autorité a considéré qu'il n'y avait aucune prévention suffisante de contrainte, de menace, de lésions corporelles simples et de mise en danger de la vie d'autrui. Elle a relevé que les témoignages recueillis ne permettaient pas de retenir que A._ avait eu l'intention de frapper le plaignant avec la matraque qu'il tenait à la main. De même, contrairement à ce qu'affirmait B._, rien ne permettait de penser que l'intéressé avait démarré "comme une bombe" dans le but manifeste et délibéré de le renverser voire de l'écraser. Il ressortait tout au plus de l'instruction que A._ avait avancé son véhicule à faible allure et par à-coups, ce qui a pu déséquilibrer B._ sans le faire tomber à terre, issue que ce dernier avait lui-même provoquée en se plaçant sciemment devant ledit véhicule. Le 27 mai 2008, A._ a transmis une copie de cette ordonnance au Tribunal administratif. C. Par arrêt du 17 juin 2008, le Tribunal administratif a rejeté le recours formé par A._ contre la décision de retrait de permis du 29 mai 2007. Il a considéré en substance que la décision de retrait se fondait uniquement sur le rapport de l'IUML et que "la contestation des faits du 16 mai 2006" était "assurément hors contexte". Pour parvenir à la conclusion que A._ était inapte à la conduite, les ex-perts l'avaient examiné à trois reprises et ils avaient pris des renseignements auprès de son médecin traitant et procédé à un examen psychiatrique. Le Tribunal administratif a dès lors estimé que les explications des experts étaient parfaitement convaincantes et ne pouvaient qu'être suivies. D. Par arrêt du 3 juillet 2008, la Cour de droit pénal du Tribunal fédéral a déclaré irrecevable le recours formé par B._ contre l'ordonnance de la Chambre d'accusation du 14 mai 2008. E. Agissant par la voie du recours en matière de droit public, A._ demande au Tribunal fédéral d'annuler l'arrêt du Tribunal administratif du 17 juin 2008, d'ordonner la restitution de son permis de conduire, subsidiairement de renvoyer la cause au Tribunal administratif pour nouvelle décision dans le sens des considérants. Il se plaint d'arbitraire dans la constatation des faits et d'une violation de l'art. 16d LCR. Il requiert en outre l'assistance judiciaire. L'Office fédéral des routes conclut à l'admission du recours, en précisant que le recourant devrait être soumis à un nouvel examen de psychologie du trafic. Le Tribunal administratif se réfère aux considérants de son arrêt. L'Office cantonal des automobiles et de la navigation s'est déterminé; il conclut au rejet du recours. Le recourant a présenté des observations complémentaires.