Preferred way of loading a specific entity revision
Currently the preferred way is to get the storage instance (EntityStorageInterface) for the entity type from the EntityTypeManager and then use its loadRevision() function. For example, you could do this for a node:

$node_revision = \Drupal::entityTypeManager()
  -&gt;getStorage('node')
  -&gt;loadRevision($node_revision_id);


Previously to this you would get the storage instance from the EntityManager like this:

$node_revision = \Drupal::entityManager()
  -&gt;getStorage('node')
  -&gt;loadRevision($node_revision_id);


This still currently works however it has been deprecated in favour of the first method. The change record relating to this is at https://www.drupal.org/node/2549139

The old way, which still currently works in Drupal 8 but is also deprecated, is the function entity_revision_load(), which is also available in drupal 7 via entity_revision_load() in the Entity API module.

This function replaces the use of conditions to load old entity revisions.
You can see the history of this change in the Drupal core issue about Remove deprecated $conditions support from entity controller.

The way you would use this function as per the original question is:

$old_revision = entity_revision_load('node', 123);