Faits: A. Né en 1991, X._ a déposé une demande d'asile en Suisse, en indiquant qu'il était nigérian. Le 27 avril 2009, l'Office fédéral des migrations (ci-après: l'Office fédéral) a décidé de ne pas entrer en matière sur la requête et prononcé le renvoi de Suisse de l'intéressé. Par arrêt du 14 mai 2009, le Tribunal administratif fédéral a rejeté le recours formé contre cette décision. Le 25 mai 2009, lors d'un entretien à l'Office cantonal de la population du canton de Genève (ci-après: l'Office cantonal), X._ a déclaré qu'il avait bien compris qu'il devait quitter le territoire suisse dans les plus brefs délais, mais qu'il n'était pas disposé à le faire, parce qu'il avait des problèmes dans son pays et ne disposait pas de documents d'identité. Puis, il a disparu dans la clandestinité. Sur le plan pénal, X._ a été condamné, le 19 mai 2009, à une peine pécuniaire de 30 jours-amende avec sursis de trois ans pour opposition aux actes de l'autorité et infraction à la législation fédérale sur les stupéfiants. Le 15 décembre 2009, il a été condamné à une peine privative de liberté de 80 jours pour infractions à la législation fédérale sur les stupéfiants et à la loi fédérale du 16 décembre 2005 sur les étrangers (LEtr; RS 142.20). B. Le 22 février 2010, X._ a été placé en détention administrative pour une durée de trois mois. L'intéressé a alors déclaré être originaire du Togo et vouloir rejoindre sa femme, qui était enceinte, en Allemagne. Cette décision a été confirmée, le 25 février 2010, par la Commission cantonale de recours en matière administrative du canton de Genève (ci-après: la Commission de recours), qui a toutefois ramené la durée de la détention à deux mois. Elle a estimé que, si l'intéressé était togolais, un laissez-passer pourrait vraisemblablement être établi rapidement. Le 25 (recte: 24) février 2010, une délégation nigériane a auditionné l'intéressé et a retenu qu'il serait plutôt d'origine togolaise. Un spécialiste de provenance a entendu l'intéressé le 3 mars 2010 afin de déterminer son origine. Il a indiqué que X._ ne s'était pas montré coopératif et est arrivé à la conclusion qu'il n'était pas du Togo, mais très certainement du Nigéria, compte tenu de son accent, de l'utilisation de certains mots et de son aspect physique. C. A la demande de l'Office cantonal, la Commission de recours a prolongé la détention administrative de X._ pour trois mois par décision du 19 avril 2010. Elle a notamment considéré que les autorités compétentes avaient effectué les démarches nécessaires pour établir l'origine de l'intéressé, qui n'avait pas du tout collaboré, et que celui-ci devrait être à nouveau entendu par les autorités nigérianes, compte tenu des conclusions de l'expert linguiste. Cette décision a été confirmée, le 6 mai 2010, par le Tribunal administratif du canton de Genève (ci-après: le Tribunal administratif). D. Ayant appris qu'une délégation nigériane susceptible d'entendre X._ était attendue en Suisse au mois d'octobre 2010, l'Office cantonal a sollicité, le 16 juillet 2010, une nouvelle prolongation de la détention de l'intéressé pour quatre mois. Le 19 juillet 2010, la Commission de recours, après avoir tenté d'entendre X._, qui a refusé d'être assisté par l'avocate de permanence et de parler, a donné suite à la demande de prolongation de la détention requise par l'Office cantonal. Par arrêt du 10 août 2010, le Tribunal administratif a rejeté le recours formé par X._ contre la décision de la Commission de recours du 19 juillet 2010. E. Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du Tribunal administratif du 10 août 2010 et d'ordonner sa mise en liberté. Il requiert que l'effet suspensif soit accordé à son recours et sollicite l'assistance judiciaire. L'Office cantonal a fait savoir qu'il n'avait pas d'observations à formuler sur le recours. Le Tribunal administratif et l'Office fédéral ont renoncé à répondre au recours. F. Par ordonnance du 14 septembre 2010, le Président de la IIe Cour de droit public a rejeté la requête d'effet suspensif contenue dans le recours.