Faits:
A. A.a Sous la raison sociale X._, Y._ et Z._, forment une société en nom collectif sise à Yverdon-les-Bains dont le but social est l'exploitation d'un garage et la vente de véhicules d'occasion.
En 1983, X._ a acheté deux extincteurs à la maison A._. La législation cantonale impose un contrôle de ces appareils tous les deux ans. Conformément à un accord oral passé avec X._, A._ a procédé à la vérification et à l'entretien de ceux-ci à quelques reprises, pour la dernière fois en 1990. Ultérieurement, le garage a déménagé. A._ n'a pas été informée de la nouvelle adresse.
En 1992, B._SA, dont le siège est à Carouge, a repris les activités de A._, y compris la cartothèque relative aux clients.
A.b En mars 1995, le représentant de B._SA pour la région d'Yverdon-les-Bains a fortuitement retrouvé le garage X._. Il a proposé à Y._ et Z._ de contrôler les extincteurs A._, ce que les deux hommes ont déclaré refuser pour l'immédiat, car ils avaient acquis deux autres extincteurs de la marque C._, qui venaient d'être révisés.
En octobre 1995, le représentant de B._SA a fait une nouvelle visite au garage. Avec l'accord des associés, il a procédé au démontage et au contrôle des appareils A._. A cette occasion, il a constaté que la cartouche du gaz propulseur de l'un d'eux était sous-dimensionnée. N'ayant pas les pièces de rechange avec lui, il a indiqué qu'il repasserait la semaine suivante; dans l'intervalle, l'un des extincteurs serait normalement opérationnel, alors que l'autre fonctionnerait moins longuement en raison de la pression diminuée de la cartouche. Il a complètement remonté les deux engins.
A.c Le 25 octobre 1995, un incendie s'est déclaré chez X._. L'un des extincteurs A._ n'a pas fonctionné. Le second a pu être utilisé, mais n'a expulsé qu'une faible quantité de poudre. Le garage a subi des dégâts pour plusieurs dizaines de milliers de francs.
Une enquête pénale a été ouverte, dans le cadre de laquelle une expertise des extincteurs A._ a été ordonnée. L'expert a rendu son rapport le 28 mars 1996.
Le 25 novembre 1996, Y._ a fait notifier à B._SA un commandement de payer 200'000 fr.
Le 18 décembre 1996, le juge d'instruction a rendu une ordonnance de non-lieu. Il a retenu que l'enquête n'avait pas permis d'établir la commission d'une infraction pénale par Y._ ou un tiers, ni les raisons de la disparition de poudre dans les extincteurs.
B. Le 24 septembre 2001, la société en nom collectif a assigné B._SA en paiement de 61'740 fr., avec intérêts à 5% dès le 25 octobre 1995, représentant le dommage non pris en charge par l'assurance-incendie. Par jugement du 15 mai 2003, le Tribunal de première instance du canton de Genève a rejeté l'action, qu'il a estimée prescrite.
La Chambre civile de la Cour de justice du canton de Genève a confirmé cette décision dans un arrêt du 12 décembre 2003.
C. La société en nom collectif recourt en réforme au Tribunal fédéral. Ses conclusions tendent à l'annulation de l'arrêt du 12 décembre 2003 et à l'admission de ses prétentions en dommages-intérêts.
B._SA invite le Tribunal fédéral à confirmer la décision attaquée.
La cour cantonale ne présente pas d'observations.
D. Par arrêt de ce jour, le Tribunal fédéral a rejeté un recours de droit public interjeté parallèlement par la demanderesse contre l'arrêt du 12 décembre 2003.

Le Tribunal fédéral considère en droit:
1. Interjeté en temps utile (art. 54 al. 1 OJ en liaison avec l'art. 34 al. 1 let. b OJ), dans les formes requises (art. 55 al. 1 OJ), par la partie qui a succombé dans ses conclusions au fond et dirigé contre un arrêt final rendu en dernière instance cantonale par un tribunal supérieur (art. 48 OJ) sur une contestation civile dont la valeur atteint le seuil de 8'000 fr. (art. 46 OJ), le présent recours est recevable.
2. Le recours en réforme est ouvert pour violation du droit fédéral (art. 43 OJ). En revanche, il n'est pas recevable pour se plaindre de la violation directe d'un droit de rang constitutionnel (art. 43 al. 1 2e phrase OJ), ni de la violation du droit cantonal (<ref-ruling> consid. 2c).
Saisi d'un recours en réforme, le Tribunal conduit son raisonnement juridique sur la base des faits retenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il n'y ait lieu de rectifier des constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou qu'il ne faille compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués et clairement établis (art. 64 OJ; <ref-ruling> consid. 2c p. 252; <ref-ruling> consid. 2a). Dans la mesure où la demanderesse se fonde sur un état de fait qui s'écarte de celui contenu dans la décision attaquée, sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'y a pas lieu d'en tenir compte (<ref-ruling> consid. 2c p. 252). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). Le recours en réforme n'est pas ouvert pour remettre en cause l'appréciation des preuves et les constatations de fait qui en découlent (<ref-ruling> consid. 2.2; <ref-ruling> consid. 2b/aa p. 277; <ref-ruling> consid. 2c p. 547; <ref-ruling> consid. 2a).
Dans son examen du recours, le Tribunal fédéral n'a pas la faculté d'aller au-delà des conclusions des parties, qui elles-mêmes ne peuvent formuler de nouvelles prétentions (art. 55 al. 1 let. b OJ); en revanche, il n'est lié ni par les motifs que les plaideurs invoquent (art. 63 al. 1 OJ), ni par l'argumentation juridique de la cour cantonale (art. 63 al. 3 OJ). Il peut donc admettre un recours pour d'autres motifs que ceux invoqués par la partie recourante et peut également rejeter un recours en adoptant une autre argumentation juridique que celle retenue par la cour cantonale (<ref-ruling> consid. 2c et les références citées).
3. 3.1 Déterminant la volonté réelle et commune des plaideurs (<ref-law>; <ref-ruling> consid. 2.5), la cour cantonale a retenu que les sociétés étaient liées par un contrat de nature ponctuelle portant sur la révision des extincteurs. En l'absence d'un élément de durée, il fallait qualifier cette convention de contrat d'entreprise au sens des <ref-law>.
Cette qualification avait pour conséquence que la demanderesse était forclose à invoquer la garantie des défauts, car le délai de prescription d'un an applicable en matière de contrat d'entreprise était atteint au moment de l'ouverture de l'action, en septembre 2001. Ce délai avait en effet commencé à courir à partir de la remise des extincteurs prêts à l'emploi le 20 octobre 1995 et été interrompu valablement pour la dernière fois le 2 décembre 1996 dans le cadre de la poursuite introduite contre la défenderesse.
3.2 La demanderesse, qui conteste la qualification de contrat d'entreprise retenue par la cour cantonale, au motif qu'il n'y aurait pas d'ouvrage, fonde son argumentation sur un état de fait rectifié conformément à la thèse qu'elle a soutenue dans le cadre du recours de droit public. Ce dernier, sur lequel le Tribunal fédéral est d'abord entré en matière conformément à la règle générale de l'art. 57 al. 5 OJ, a toutefois été rejeté par arrêt de ce jour. Il convient donc de s'en tenir aux constatations de fait résultant de la décision cantonale dans l'examen du présent recours, notamment en ce qui concerne le contenu du contrat liant les plaideurs. Seules la qualification et la portée juridiques de ce que les parties ont voulu peuvent être revues par le Tribunal fédéral (art. 43, 63 al. 3 OJ).
4. Selon l'<ref-law>, le contrat d'entreprise est un contrat par lequel une des parties (l'entrepreneur) s'oblige à exécuter un ouvrage, moyennant un prix que l'autre partie (le maître) s'engage à lui payer.
Outre le paiement d'un prix, élément qui n'est nullement discuté en l'espèce, l'exécution d'un ouvrage constitue la prestation caractéristique du contrat d'entreprise. L'ouvrage se définit comme le résultat d'une activité. La nature de l'activité n'intervient pas dans la définition. Elle peut être intellectuelle ou physique, humaine ou mécanique, durable ou non, difficile ou non. Il est sans pertinence que l'entrepreneur doive ou non fournir des matériaux, qu'il soit ou non propriétaire de l'ouvrage jusqu'à sa livraison. En revanche, il est nécessaire, pour qu'il y ait ouvrage, que l'activité produise un résultat qui sera fourni au maître (Corboz, Contrat d'entreprise, Généralités, in FJS 458, p. 9). Depuis l'<ref-ruling> - après un changement temporaire de jurisprudence - le Tribunal fédéral considère que l'ouvrage au sens des <ref-law> peut revêtir une forme aussi bien matérielle qu'immatérielle et consister, par exemple, dans l'organisation d'un spectacle (<ref-ruling> consid. 2a et les arrêts cités).
L'ouvrage peut consister non seulement à créer une chose nouvelle, mais encore, le point n'est pas contesté, à transformer une chose existante, à l'agrandir, l'améliorer, la rénover, lui conférer des propriétés nouvelles (Corboz, op. cit., p. 9 et 11). Entrent également dans la notion d'"exécution d'ouvrage" les travaux de montage, de réparation, de nettoyage, de vérification (<ref-ruling>; <ref-ruling> consid. 1; <ref-ruling>; Gauch, Le contrat d'entreprise, n° 28 et 29).
La qualification du contrat s'opère en analysant les prestations conclues in concreto (Corboz, op. cit., p. 3, note 8)
En l'occurrence, la cour cantonale a retenu que l'objet du contrat résidait dans le bon fonctionnement des extincteurs en cas d'incendie. Avec elle, on doit admettre que cela constitue une activité dont le résultat, objectivement mesurable, peut être garanti (Chaix, Commentaire romand, n° 9 ad <ref-law>; cf. aussi, a contrario, pour des activités de contrôle de marchandise, arrêt 4C.141/1994 du 23. août 1994, consid. 2). En l'absence de tout élément de durée pouvant impliquer d'éventuels conseils sur les mesures à prendre pour la lutte contre l'incendie et l'entretien à long terme des extincteurs, on ne peut que confirmer la qualification juridique de contrat d'entreprise (Tercier, Les contrats spéciaux, 3e éd., n° 3878 ss; Gauch, op. cit., n° 323; cf. aussi Chaix, op. cit., n° 24 ad <ref-law>).
5. Le contrat d'entreprise se distingue par le régime applicable à la garantie des défauts, singulièrement en ce qui concerne les délais de prescription, qui sont raccourcis par rapport aux dispositions générales, comme en matière de vente. La demanderesse ne dirige aucun grief à l'encontre de l'arrêt attaqué en ce qui concerne le délai applicable, le point de départ de celui-ci et son interruption dans l'hypothèse du rejet de son moyen tiré de l'absence de contrat d'entreprise. Il n'y a pas lieu de revenir sur ces points (art. 55 al. 1 let. c OJ).
6. La prescription étant atteinte, il n'y pas lieu non plus d'entrer en matière sur les arguments de la demanderesse à propos de la réalisation des autres conditions de ses prétentions en dommages-intérêts.
7. Vu l'issue de la cause, la recourante supportera les frais de justice et versera une indemnité de dépens à l'intimée (art. 156 al. 1, 159 al. 1 OJ).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté.
2. Un émolument judiciaire de 3'000 fr. est mis à la charge de la recourante.
3. La recourante versera à l'intimée une indemnité de 3'500 fr. à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Chambre civile de la Cour de justice du canton de Genève.
Lausanne, le 22 juin 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le président: La greffière:
l