Faits :
A.
Par ordonnance du 7 mai 2019, le ministère public genevois a refusé d'entrer en matière sur la plainte pénale déposée par la société " A._ SA " contre " B._ Sàrl ".
B.
Statuant le 24 juillet 2019, la Chambre pénale de recours de la Cour de justice genevoise a rejeté le recours formé par A._ SA contre cette ordonnance, qu'elle a confirmée.
Les faits à l'origine de la procédure sont en substance les suivants.
Par convention du 10 janvier 2006, la société A._ SA a confié à B._ Sàrl l'exploitation et la maintenance d'un parking. Quelques années plus tard, elle a informé cette dernière de son intention de mettre fin à cette convention pour le 31 décembre 2013. B._ Sàrl a ouvert une procédure pour contester le congé, procédure qui a duré jusqu'en septembre 2016. En octobre 2016, B._ Sàrl a restitué le parking à la société A._ SA.
Le 27 juillet 2018, la société A._ SA a déposé plainte contre B._ Sàrl, soit pour elle son unique associé-gérant C._, pour abus de confiance, vol, voire enrichissement illégitime. Elle lui reproche d'avoir exploité illicitement le parking entre la résiliation du contrat et la restitution des locaux et d'avoir conservé sans droit l'intégralité des recettes perçues durant cette période par l'horodateur, estimées à 659'334 fr. 50, ainsi que les recettes publicitaires, représentant un montant de 16'991 fr. 65.
C.
A._ SA forme un recours en matière pénale au Tribunal fédéral. Elle conclut, avec suite de frais et dépens, principalement à l'annulation de l'arrêt attaqué ainsi que de l'ordonnance du ministère public et au renvoi de la cause à la cour cantonale pour qu'elle instruise sa plainte. A titre subsidiaire, elle conclut au renvoi de la cause à la cour cantonale pour qu'elle statue à nouveau.

Considérant en droit :
1.
1.1. Conformément à l'art. 81 al. 1 let. a et b ch. 5 LTF, la partie plaignante qui a participé à la procédure de dernière instance cantonale est habilitée à recourir au Tribunal fédéral, si la décision attaquée peut avoir des effets sur le jugement de ses prétentions civiles. Constituent de telles prétentions celles qui sont fondées sur le droit civil et doivent en conséquence être déduites ordinairement devant les tribunaux civils. Il s'agit principalement des prétentions en réparation du dommage et du tort moral au sens des <ref-law> (<ref-ruling> consid. 1.1 p. 4). La notion d'influence du jugement pénal sur les prétentions civiles est conçue strictement. La partie plaignante ne peut pas s'opposer à une décision parce qu'elle ne facilite pas son action sur le plan civil. Il faut que la décision attaquée ait pour conséquence qu'elle rencontrera plus de difficultés à faire valoir ses prétentions civiles (arrêt 6B_354/2019 du 22 juillet 2019 consid. 1.1; <ref-ruling> consid. 1a p. 188).
Selon l'<ref-law>, il incombe à la recourante d'alléguer les faits qu'elle considère comme propres à fonder sa qualité pour recourir (<ref-ruling> consid. 1.2 p. 539; <ref-ruling> consid. 1 p. 356). Lorsque, comme en l'espèce, le recours est dirigé contre une décision de non-entrée en matière ou de classement de l'action pénale, la partie plaignante n'a pas nécessairement déjà pris des conclusions civiles (<ref-ruling> consid. 1.3.1 p. 248). Quand bien même la partie plaignante aurait déjà déclaré des conclusions civiles (cf. <ref-law>), il n'en reste pas moins que le procureur qui refuse d'entrer en matière ou prononce un classement n'a pas à statuer sur l'aspect civil (cf. <ref-law>). Dans tous les cas, il incombe par conséquent à la partie plaignante d'expliquer dans son mémoire au Tribunal fédéral quelles prétentions civiles elle entend faire valoir. Comme il n'appartient pas à la partie plaignante de se substituer au ministère public ou d'assouvir une soif de vengeance, la jurisprudence entend se montrer restrictive et stricte, de sorte que le Tribunal fédéral n'entre en matière que s'il ressort de façon suffisamment précise de la motivation du recours que les conditions précitées sont réalisées, à moins que l'on puisse le déduire directement et sans ambiguïté compte tenu notamment de la nature de l'infraction alléguée (<ref-ruling> consid. 1.1 p. 4 s. et les références citées).
1.2. La recourante prétend avoir subi pendant la période pénale un préjudice se chiffrant à 725'666 fr. 25 et ajoute qu'un jugement en sa faveur peut augmenter ses chances de succès dans le cadre d'une action en responsabilité contre l'associé-gérant. Elle n'explique toutefois pas en quoi consistent les prétentions qu'elle invoque pas plus qu'elle ne montre qu'elles sont différentes de celles qu'elle peut faire valoir sur la base des relations contractuelles entretenues avec B._ Sàrl. Au surplus, comme cela a été rappelé au consid. 1.1 ci-dessus, la partie plaignante ne peut pas s'opposer à une décision parce qu'elle ne facilite pas son action sur le plan civil, de sorte que son argument tiré d'une augmentation de ses chances dans une action en responsabilité est dénué de pertinence. La recourante n'a dès lors pas qualité pour recourir sur le fond.
1.3. Par ailleurs, l'hypothèse visée à l'art. 81 al. 1 let. b ch. 6 LTF n'entre pas en considération, la recourante ne soulevant aucun grief relatif à son droit de porter plainte.
1.4. Indépendamment des conditions posées par l'<ref-law>, la partie plaignante est habilitée à se plaindre d'une violation de ses droits de partie équivalant à un déni de justice formel, sans toutefois pouvoir faire valoir par ce biais, même indirectement, des moyens qui ne peuvent être séparés du fond (cf. <ref-ruling> consid. 1.1 p. 5 et les références citées).
La recourante reproche à la cour cantonale de ne pas avoir suffisamment instruit la cause et l'ensemble de son argumentation ne tend qu'à montrer en quoi les mesures d'instruction souhaitées auraient été nécessaires afin d'établir ses accusations. Elle ne fait ainsi valoir aucun moyen qui puisse être séparé du fond, de sorte que ses griefs ne sauraient fonder sa qualité pour recourir au Tribunal fédéral.
2.
Au vu de ce qui précède, le recours doit être déclaré irrecevable selon la procédure simplifiée prévue par l'<ref-law>. La recourante, qui succombe, supportera les frais judiciaires (<ref-law>).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est irrecevable.
2.
Les frais judiciaires, arrêtés à 800 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties et à la Chambre pénale de recours de la Cour de justice de la République et canton de Genève.
Lausanne, le 7 octobre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay