My understanding is that miners try several values for a nonce until the hash of the nonce and the data is of a certain format. However assuming that all miners start the nonce counter from the same number then that would mean the miner that is going to find the correct nonce is simply the one that can hash the fastest. Which should always be the same miner. What am I missing here?
You need to build a valid block. That means that you need a valid nonce. If you start searching from 0, 1, 2, 3... or wheather you try random numbers is irrelevant.
The hash is also not only dependant from the nonce. If you start at 0 and another miner starts at 0 and you both have a different set of transactions in the block, you need to finde different nonces.