Olá Antônia, tudo bem? De maneira bem simples sim, um DAO só pode fazer manipulações no banco de dados através de um Entity Manager porém os padrões de projeto nos dizem que precisamos de classes com uma responsabilidade única e no caso não é responsabilidade de um DAO criar um Entity Manager, então sempre que alguma classe precisar utilizar um DAO ela deve instanciar o DAO passando ou injetando dentro desse objeto DAO um Entity Manager, assim o DAO vai poder ter apenas a responsabilidade de fazer interações com banco de dados.
Espero ter esclarecido sua dúvida!