Faits :
A.
Le 3 février 1994, X._ (ci-après: X._ ou la bailleresse) a conclu avec A.Z._ et B.Z._, en tant que locataires, un contrat de bail à loyer portant sur une place de stationnement dans un parking souterrain au Grand-Lancy. Le loyer a été fixé à 110 fr. par mois, frais accessoires compris.
Le 6 septembre 2016, la bailleresse a mis en demeure A.Z._ de payer dans les trente jours 2'898 fr. à titre de loyers impayés pour la période du 1 er novembre 2014 au 30 septembre 2016 et l'a informé qu'à défaut de paiement dans le délai imparti, elle résilierait le bail conformément à l'<ref-law>.
Faute de paiement à l'échéance du délai fixé, la bailleresse a résilié le bail pour le 30 novembre 2016 par avis officiel du 17 octobre 2016. Le congé a été notifié à A.Z._ exclusivement.
B.
Par requête en protection dans les cas clairs déposée le 20 avril 2017, X._ a requis du Tribunal des baux et loyers du canton de Genève l'évacuation de A.Z._ et l'exécution forcée du jugement d'évacuation; elle demandait qu'il soit ordonné immédiatement l'exécution du jugement d'évacuation, en enjoignant à tout huissier judiciaire, le cas échéant en requérant le concours de la force publique, d'évacuer A.Z._ ainsi que tout tiers et tout bien de la place de stationnement. En outre, la bailleresse a conclu à ce que A.Z._ soit condamné au paiement des arriérés de loyers par 3'787 fr.20 et d'indemnités pour occupation illicite de 126 fr. par mois du 1 er mai 2017 jusqu'à la libération et la restitution totale de la place de stationnement.
Par jugement du 23 juin 2017, le Tribunal des baux et loyers a déclaré la requête irrecevable (<ref-law>). Il a jugé que les conditions permettant l'application de la procédure sommaire dans les cas clairs (<ref-law>) n'étaient pas remplies. D'une part, la validité de la résiliation signifiée à A.Z._ seul, à l'exclusion de B.Z._, était sujette à caution. D'autre part, la bailleresse était dans l'incapacité de produire des documents contractuels justifiant la perception du loyer de 126 fr. par mois qu'elle réclamait, en lieu et place de celui de 110 fr. figurant dans le contrat de bail.
Par arrêt du 27 novembre 2017, la Chambre des baux et loyers de la Cour de justice du canton de Genève a rejeté le recours dont la bailleresse l'avait saisie.
C.
X._ interjette un recours constitutionnel subsidiaire. A titre principal, elle demande au Tribunal fédéral d'annuler l'arrêt cantonal, puis de statuer sur le fond en admettant les conclusions qu'elle avait formulées en instance cantonale.
L'intimé ne s'est pas déterminé sur le recours.
La cour cantonale se réfère aux considérants de son arrêt.

Considérant en droit :
1.
1.1. La décision entreprise a été rendue en matière civile dans une affaire pécuniaire. La valeur litigieuse n'atteint pas le seuil de 30'000 fr. (<ref-law>) et la recourante elle-même ne prétend pas que l'une des exceptions prévues par l'<ref-law> serait réalisée. Le recours en matière civile n'étant ainsi pas ouvert, l'arrêt cantonal peut être attaqué par le recours constitutionnel subsidiaire (<ref-law>), voie que la recourante a choisie.
1.2. Le recours constitutionnel subsidiaire peut être formé pour violation des droits constitutionnels (<ref-law>). Conformément au principe d'allégation (<ref-law> en lien avec l'<ref-law>), le recourant doit indiquer quel droit ou principe constitutionnel a été violé par la décision attaquée et dans quelle mesure, en présentant une argumentation claire et circonstanciée, si possible documentée. Des critiques de nature appellatoire ne sont pas admissibles (<ref-ruling> consid. 2.4 p. 368; <ref-ruling> consid. 2.2 p. 246).
2.
Invoquant l'art. 29 al. 2 Cst., la recourante se plaint d'une violation de son droit d'être entendue. Les juges genevois auraient passé sous silence l'un de ses griefs, qu'elle avait pourtant motivé de façon suffisante et qui était pertinent pour l'issue du litige.
2.1. Le droit d'être entendu garanti par l'art. 29 al. 2 Cst. implique pour l'autorité l'obligation de motiver sa décision. Selon la jurisprudence, il suffit que le juge mentionne, au moins brièvement, les motifs qui l'ont guidé et sur lesquels il a fondé sa décision, de manière à ce que l'intéressé puisse se rendre compte de la portée de celle-ci et l'attaquer en connaissance de cause. L'autorité n'a pas l'obligation d'exposer et de discuter tous les faits, moyens de preuve et griefs invoqués par les parties, mais peut au contraire se limiter à l'examen des questions décisives pour l'issue du litige. Dès lors que l'on peut discerner les motifs qui ont guidé l'autorité, le droit à une décision motivée est respecté même si la motivation présentée est erronée. La motivation peut d'ailleurs être implicite et résulter des différents considérants de la décision (<ref-ruling> consid. 3.2.1 p. 564 s. et les arrêts cités). En revanche, une autorité méconnaît l'art. 29 al. 2 Cst. si elle omet de se prononcer sur des griefs qui présentent une certaine pertinence ou de prendre en considération des allégués et arguments importants pour la décision à rendre (<ref-ruling> consid. 3.2.1 p. 564 s. et les arrêts cités).
2.2. La recourante expose avoir soulevé un grief tiré de la violation de l'<ref-law> dans son recours cantonal. Selon elle, lors de l'audience de débats du 23 juin 2017, l'intimé a acquiescé à la requête en évacuation en déclarant être d'accord de restituer la place de stationnement. Les premiers juges n'auraient ainsi eu d'autre choix que d'en prendre acte et de prononcer l'évacuation. En reprochant au Tribunal des baux et loyers d'avoir statué ultra petita, la recourante aurait donc formulé un grief pertinent; or, toute référence à ce grief ferait défaut dans l'arrêt cantonal.
Il est vrai que, dans son recours à la Cour de justice, la bailleresse a reproché aux premiers juges de ne pas avoir tenu compte de ce qu'elle considère être un acquiescement de l'intimé - ce dernier avait indiqué lors de l'audience de débats du 23 juin 2017 qu'il souhaitait pouvoir conserver la place de stationnement, mais qu'il était d'accord de la restituer - et que l'arrêt cantonal ne mentionne pas le grief correspondant, fondé sur l'<ref-law> qui consacre l'interdiction de statuer ultra petita. Cela étant, la recourante déduit de cet hypothétique acquiescement que le Tribunal des baux et loyers aurait dû prononcer l'évacuation de l'intimé. Or, si acquiescement il y avait eu, le juge aurait dû en prendre acte et radier l'affaire du rôle, s'agissant de la conclusion concernée (cf. FABIENNE HOHL, Procédure civile, tome I, 2 e éd. 2016, ch. 2404 p. 399; DENIS TAPPY, in Code de procédure civile commenté, 2011, n° 34 ad <ref-law>); il n'aurait pas pu prononcer l'évacuation. C'est dire que le grief soulevé dans le recours cantonal était impropre à fonder une conclusion tendant à l'évacuation de l'intimé, supposé précisément avoir acquiescé à cette mesure. La recourante a pourtant pris une telle conclusion devant la Cour de justice, ce qui - entre parenthèses - est assez révélateur de la portée que la bailleresse elle-même attribue aux déclarations de l'intimé. Contrairement à ce que la recourante prétend, le grief tiré d'une violation de l'<ref-law> n'était pas susceptible de conduire à l'admission du recours cantonal et au prononcé de l'évacuation de l'intimé; il n'était donc pas pertinent pour l'issue du litige et il ne saurait être reproché à la cour cantonale de ne pas l'avoir discuté. Le moyen fondé sur l'art. 29 al. 2 Cst. doit être écarté.
Au passage, il est à noter que toute transaction, tout acquiescement et tout désistement d'action consignés au procès-verbal par le tribunal doivent être signés par les parties (<ref-law>). L'acquiescement étant un acte unilatéral, seule est requise la signature de la partie qui acquiesce (cf. DENIS TAPPY, op. cit., n° 25 ad <ref-law>). Or, le procès-verbal de l'audience de débats du 23 juin 2017 ne comporte pas la signature de l'intimé, ce qui clôt toute controverse.
3.
La recourante dénonce également une application arbitraire de l'<ref-law>. Les juges genevois auraient prêté l'oreille à des arguments dépourvus de consistance, ce qui les aurait conduits à nier contre toute évidence l'existence d'un cas clair et, partant, à confirmer l'irrecevabilité de la requête.
3.1. L'application du droit est arbitraire au sens de l'art. 9 Cst. lorsqu'une décision apparaît insoutenable, viole gravement une norme ou un principe juridique clair et indiscuté ou heurte de façon choquante le sentiment de justice et d'équité. Il ne suffit pas que les motifs de la décision soient insoutenables; encore faut-il que celle-ci soit arbitraire dans son résultat. L'arbitraire ne résulte pas du seul fait qu'une autre solution serait concevable, voire préférable (<ref-ruling> consid. 4.1 p. 566; <ref-ruling> consid. 2.4 p. 5).
La procédure de protection dans les cas clairs prévue par l'<ref-law> permet à la partie demanderesse d'obtenir rapidement une décision ayant l'autorité de la chose jugée et la force exécutoire, lorsque la situation de fait et de droit n'est pas équivoque (<ref-ruling> consid. 3.2 p. 25 s.; <ref-ruling> consid. 5.1.1 p. 622). En vertu de l'<ref-law>, le tribunal admet l'application de la procédure sommaire lorsque l'état de fait n'est pas litigieux ou est susceptible d'être immédiatement prouvé (let. a) et que la situation juridique est claire (let. b). Le tribunal n'entre pas en matière sur la requête lorsque cette procédure ne peut pas être appliquée (<ref-law>).
Selon la jurisprudence, l'état de fait n'est pas litigieux lorsqu'il n'est pas contesté par le défendeur; il est susceptible d'être immédiatement prouvé lorsque les faits peuvent être établis sans retard et sans trop de frais. En règle générale, la preuve est rapportée par la production de titres, conformément à l'<ref-law>. La preuve n'est pas facilitée: le demandeur doit apporter la preuve certaine (" voller Beweis ") des faits justifiant sa prétention; la simple vraisemblance (" Glaubhaftmachen ") ne suffit pas. Si le défendeur fait valoir des objections motivées et concluantes (" substanziiert und schlüssig "), qui ne peuvent être écartées immédiatement et qui sont de nature à ébranler la conviction du juge, la procédure du cas clair est irrecevable (<ref-ruling> consid. 3.2 p. 26; <ref-ruling> consid. 5.1.1 p. 621 et les arrêts cités).
La situation juridique est claire lorsque l'application de la norme au cas concret s'impose de façon évidente au regard du texte légal ou sur la base d'une doctrine et d'une jurisprudence éprouvées (<ref-ruling> consid. 2.1.2 p. 126, 620 consid. 5.1.1 p. 621, 728 consid. 3.3 p. 734). En règle générale (cf. cependant arrêt 4A_185/2017 du 15 juin 2017 consid. 5.4 et les références), la situation juridique n'est pas claire si l'application d'une norme nécessite l'exercice d'un certain pouvoir d'appréciation de la part du juge ou que celui-ci doit rendre une décision en équité, en tenant compte des circonstances concrètes de l'espèce (<ref-ruling> consid. 3.2 p. 26; <ref-ruling> consid. 2.1.2 p. 126; arrêt 4A_273/2012 du 30 octobre 2012 consid. 5.1.2, non publié in ATF <ref-ruling>).
Si le juge parvient à la conclusion que les conditions du cas clair sont remplies, le demandeur obtient gain de cause par une décision ayant l'autorité de la chose jugée et la force exécutoire (ATF <ref-ruling> consid. 5.1.1 p. 622 s.). Si elles ne sont pas remplies et que le demandeur ne peut donc obtenir gain de cause, le juge doit déclarer la requête irrecevable. Il est en effet exclu que la procédure de protection dans les cas clairs puisse aboutir au rejet de la prétention du demandeur avec autorité de la chose jugée (<ref-ruling> consid. 5, spécialement consid. 5.2.3 et 5.3 p. 320).
3.2. Il résulte des faits décisifs retenus par la cour cantonale (<ref-law>) que la recourante a conclu un bail à loyer portant sur une place de stationnement avec deux locataires. La bailleresse a mis en demeure un seul d'entre eux, à savoir l'intimé, de payer l'arriéré de loyer dans un délai de trente jours et, à l'échéance fixée, elle a notifié à lui seul la résiliation du bail. L'autorité précédente a jugé que la question de la validité de la résiliation - qu'il lui appartenait d'examiner à titre préjudiciel - n'était pas claire, dans la mesure où le congé n'avait pas été notifié au second locataire, qui n'était autre que l'ex-épouse de l'intimé et ne participait pas à la procédure. La recourante alléguait certes l'absence d'usage que la colocataire avait depuis fort longtemps du bien loué, respectivement son absence d'intérêt au maintien du bail, mais l'établissement de ce fait nécessitait des mesures d'instruction incompatibles avec le caractère sommaire de la procédure; en outre, les conséquences qu'il y aurait lieu de tirer d'un tel fait, au regard de la jurisprudence relative à l'abus de droit évoquée par la recourante (<ref-ruling>), impliquaient l'exercice d'un certain pouvoir d'appréciation. La situation juridique n'était donc pas non plus claire. Partant, la cour cantonale a nié l'existence d'un cas clair au sens de l'<ref-law>.
La recourante tient pour acquis le fait que l'autre locataire n'a plus l'usage du bien loué depuis bien longtemps. Elle en veut pour preuve les déclarations de l'intimé. Ainsi, ce dernier aurait indiqué qu'il "n'avait plus aucune nouvelle de son ex-femme depuis 1992, date de leur désunion". Ce n'est toutefois pas ce qui ressort de l'arrêt attaqué - dont les constatations de fait lient le Tribunal fédéral (<ref-law>) - lequel mentionne: "Lors de l'audience de débats du 23 juin 2017, [l'intimé] a déclaré qu'il était divorcé depuis 1992 et qu'il n'avait plus de contact avec son épouse". L'intimé n'a ainsi pas indiqué qu'il n'avait plus de contact avec son ex-épouse depuis 1992. Il faut d'ailleurs observer que les colocataires ont conclu le bail litigieux plusieurs années après, soit le 3 février 1994.
La recourante ne saurait davantage être entendue lorsqu'elle affirme que "cela faisait dès lors depuis plus de 25 ans que [l'] ex-femme n'avait plus utilisé la place de stationnement pour laquelle elle avait, de conserve avec son ex-époux, conclu un contrat de bail". Ce faisant, elle s'écarte de l'état de fait retenu par la Cour de justice sans se plaindre d'arbitraire. Il en va de même lorsque la bailleresse fait valoir que l'intimé aurait affirmé, lors de l'audience devant les premiers juges, que "la place de stationnement n'était utilisée que pour entreposer ses propres affaires". Une telle déclaration ne résulte d'ailleurs pas du procès-verbal de l'audience de débats du 23 juin 2017, auquel la recourante se réfère. Il s'ensuit que, quoi qu'en dise la bailleresse, l'état de fait n'était pas susceptible d'être immédiatement prouvé.
En outre, la recourante n'explique pas en quoi la situation juridique serait claire, en particulier dans quelle mesure le parallèle qu'il faudrait tirer avec la cause publiée aux <ref-ruling> ne nécessiterait, par pure hypothèse, l'exercice d'aucun pouvoir d'appréciation du juge.
En conclusion, la cour cantonale n'a pas versé dans l'arbitraire en considérant que la validité de la résiliation du bail était sujette à caution, dès lors qu'il n'était pas patent que l'ex-épouse de l'intimé n'ait plus aucun usage de l'objet du bail et que les conséquences juridiques d'un tel fait - à supposer établi - nécessitaient l'exercice d'un certain pouvoir d'appréciation du juge, ce qui faisait obstacle à la recevabilité des conclusions de la demanderesse en évacuation et en exécution forcée selon la procédure sommaire prévue pour les cas clairs.
3.3. La recourante fait également grief à la cour cantonale de ne pas avoir admis l'existence d'un cas clair s'agissant du montant du loyer dont elle réclamait paiement à l'intimé.
L'autorité précédente a effectivement jugé qu'un doute subsistait à cet égard, ce qui excluait la procédure de l'<ref-law>, car le montant mentionné dans le contrat de bail était de 110 fr. par mois et aucun document contractuel ne permettait de justifier la somme de 126 fr. alléguée par la bailleresse.
La recourante affirme avoir, pièces à l'appui, démontré que le loyer de la place de stationnement était bien de 126 fr. par mois. L'appréciation de la cour cantonale, selon laquelle ce fait n'était pas clair, n'est toutefois entachée d'aucun arbitraire, cette instance ayant encore précisé que le décompte établi par la régie n'était pas suffisant à ce propos.
Ce moyen doit également être écarté.
4.
Sur le vu de ce qui précède, le recours doit être rejeté.
Partant, la recourante supportera les frais de la présente procédure (<ref-law>). Il n'est pas alloué de dépens à l'intimé, qui n'a pas déposé de réponse.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties et à la Chambre des baux et loyers de la Cour de justice du canton de Genève.
Lausanne, le 19 mars 2018
Au nom de la Ire Cour de droit civil
du Tribunal fédéral suisse
La Présidente : Kiss
La Greffière : Godat Zimmermann