Not necessarily. Mempools don't have unlimited capacity and also there is transaction expired by timeout (by default 14 days after entering).
So in practice, if your transaction is not processed in 14 days, it will never be processed.
Mempool size is specific to each node, it is not a central pool of transactions and every node has their own. Transactions do not expire, they simply get excluded out of the node's mempool and that is specific to each node. If your transaction is not mined within 14 days, it could very well be still in the miner's mempool and they can still mine it. If not, anyone can simply rebroadcast the transaction.