Exchanges have order books. There might be more orders queuing up to execute at a certain price. If there are not enough bids/offers in the books to meet all the orders, your order might not be filled.
You have a limit order to buy at $90.00.
Question: You observe a trade at $90 - does it mean your order should have been filled?
Answer: No - this is not guaranteed.
Your order might not have been first in queue at the bid side. In other words, the liquidity at that moment might not have been sufficient to fill all buy orders queuing up at $90.00.