I have this problem too, and it's not a carrier issue.
I have been told (by my bank, of all people, who were told this by Apple) that it has been problem since November with IoS 7.
They said that the issue is this: normally when texts are sent to aphone that's off, a signal is sent back to the senders network, telling them that it hasn't been received, a kind of bounce-back, so the senders network will keep resending it. However, this signal back to the senders network is not being sent, which is a fault in IoS 7. Therefore the sender's network doens't know it has to keep resending the message.
Most networks will try for 3 days, to resend a text that isn't received because the phone is off or out of range, but even if they only try for a few hours, they need the signal back from the phone, that tells the network the message hasn't been received.
It's a really big problem, and I want it solved.