It doesn't even have to be errata. That timing loop someone wrote decades ago might run too fast now. Even if it determines its loop counter at startup, it may fail because it assumes 16 bits is enough for the counter.
Conversely, some instructions may have gotten slower over time. For example, I doubt intel worries much about the performance of the original 8087 floating point operations anymore, so they could move them into microcode or even make them illegal instructions, to be emulated in software (I don't they do at the moment because the overhead of decoding the original 8086 instructions is low, but if x86 stays around for a few decades, at some time, I think they will consider doing the latter)
Conversely, some instructions may have gotten slower over time. For example, I doubt intel worries much about the performance of the original 8087 floating point operations anymore, so they could move them into microcode or even make them illegal instructions, to be emulated in software (I don't they do at the moment because the overhead of decoding the original 8086 instructions is low, but if x86 stays around for a few decades, at some time, I think they will consider doing the latter)