Creo que tu matriz está en mal estado. Además, ¿dónde configura los campos virtuales para el modelo? Por último, pero no menos importante:¿por qué una consulta dentro de una consulta?
public function topvotes() {
$this->Post->virtualFields = array('total' => 'SUM(Post.vote_total)');
$posts = $this->Post->find('all', array(
'fields' => array('total'),
'recursive' => 1,
'group' => array('Post.user_id'),
'conditions'=>array('Post.type' => 'new')
));
$this->set('posts', $posts);
}