Você está procurando
grep -ho '\S*domain.com\S*' file
em que \S corresponde a caracteres que não são espaços em branco, portanto, neste caso, grep corresponderá a tudo entre espaços em branco com a string "domain.com".
Como alternativa, se você quiser permitir explicitamente apenas @ e . na sequência (com exceção de caracteres alfanuméricos, obviamente):
grep -ho '[[:alnum:].@]*domain.com[[:alnum:].]' file
Dessa forma, grep extrairá [email protected] da string [[email protected]] .