Em ambas as frases, cão é simultaneamente um nome comum e um nome concreto. Nome comum opõe-se a nome próprio, e é fácil saber quando estamos perante um nome comum ou um nome próprio pois os últimos escrevem-se com inicial maiúscula mas nos primeiros isto só acontece a seguir a determinados sinais de pontuação. Os nomes comuns denotam classes de entidades, enquanto os nomes próprios tipicamente referem uma entidade única, ou uma entidade que é única num determinado contexto pragmático (como os nomes de pessoas).
Nome concreto opõe-se a nome abstracto/abstrato. Qualquer substantivo que denote uma entidade fisicamente apreensível é um nome concreto. Como o nome indica, os substantivos abstractos/abstratos referem-se a entidades abstractas/abstratas, nomeiam uma qualidade, uma acção/ação, um sentimento, um estado etc.
A distinção entre espécie e espécime, patente nos exemplos apresentados pela consulente, não é completamente esclarecedora para a classificação dos nomes em comuns e próprios ou em concretos e abstractos. Contudo os nomes próprios não designam espécies mas somente indivíduos específicos.
Como se disse, a classificação de um substantivo em comum ou próprio é independente da sua classificação em concreto ou abstracto/abstrato. Existem inclusivamente nomes próprios abstractos/abstratos – consulte-se a este respeito a resposta anterior: Disciplinas com inicial maiúscula.
Vejam-se também as outras respostas: Substantivos: concretos e abstractos + Temporada + Morte / vida / doença