Para fazer isso manualmente no QGIS, vá para Settings|Project Properties...
Na General
guia na parte inferior está Snapping options...
Verifique a camada que deseja ajustar, defina o modo to vertex
e defina a tolerância para algum valor menor que a menor distância entre dois pontos que você possui. Se você não tiver certeza, defina as unidades como pixels
e a tolerância para algo como 5, para que, se houver alguns detalhes complicados, você possa aumentar o zoom e garantir que não encaixe no vértice errado.
Em seguida, edite sua camada vetorial, selecione a ferramenta Nó e mova os pontos errantes para os correspondentes.
Fazê-lo automaticamente é um pouco mais complicado. O AFAIK QGIS não possui um plug-in para automatizá-lo e, embora o PostGIS seja construído no GEOS, que possui funções de snap, ele não é exposto ao PostGIS. Pode ser possível escrever uma consulta para verificar cada ponto de um polígono em busca de vizinhos dentro da distância de encaixe, mas isso está além da minha inteligência para expandir.
O GRASS possui o v.clean.snap, que você pode acessar via QGIS, mas há a etapa extra de criar um conjunto de dados GRASS.