Desde mi punto de vista sí, sería la forma correcta. Yo entiendo que la opción por defecto para todas las funciones miembro debería ser const... y solo aquellas en las que la compilación falle (porque modifican realmente el estado del objeto) deberían ver eliminado dicho atributo.
 
Por otro lado, si me aceptas una crítica constructiva: 
tu versión actual de hazLista añade elementos a la lista en vez de inicializarla. Si la idea es que hazLista resetee la lista podrías dejar la función tal que:    
Código C++:
Ver original- void hazLista(int tam) 
- { 
-     m_lista = list<int>(tam); 
-     std::iota(m_lista.begin(), m_lista.end(), 0); 
- } 
la función mostrar tiene demasiado código. El for se puede optimizar bastante y, además, siguiendo lo que he dicho antes, debería ser const:    
Código C++:
Ver original- void mostrar() const 
- { 
-     for (auto elem : m_lista) 
-         cout<<elem<<endl; 
- } 
La función sumar_lista no se libra de la crítica tampoco jejejeje. La STL tiene funciones muy útiles para no tener que reescribir una y otra vez los mismos algoritmos:    
Código C++:
Ver original- int sumarLista (const list<int>& l) 
- { 
-     return std::accumulate(l.begin(), l.end(), 0); 
- } 
Un saludo.