Вариант решения, если объект, который был выделенным, остаётся в коллекции:
1. во ViewModel добавить свойство SelectedItem (с INPC);
2. перед обновлением коллекции запоминать его, после обновления коллекции - устанавливать в него запомненное значение;
3. в DataGrid добавить привязку выбранного элемента сетки к свойству ViewModel
SelectedItem="{Binding SelectedItem Mode=TwoWay}"