complex nodes with tikz-qtree
There's no need to wrap your complex node in a tabular
environment. TikZ allows nodes to contain newlines provided you specify an explicit alignment for the text in the node.
So add the following line to your document:
\tikzset{every tree node/.style={align=left, anchor=north}}
or
\tikzset{every tree node/.style={align=center, anchor=north}}
And you don't need to use the tabulars at all.
\documentclass{scrbook}
\usepackage{tikz-qtree}
\tikzset{every tree node/.style={align=left, anchor=north}}
\begin{document}
\Tree [.V [.{[spr eliste \\ comps eliste]} ] [.NP dogs ] [.V sleep ] ]
\end{document}
With respect to your edit, using anchor=north
isn't appropriate for terminal nodes of the tree if you need the nodes to line up on a baseline. (I don't usually draw trees this way, so I wasn't thinking much about that.)
You can solve this problem by using:
\tikzset{every internal node/.style={align=left, anchor=north}}
or
\tikzset{every internal node/.style={align=center, anchor=north}}
The internal node
key targets all the non-terminals in the tree.
I am not sure if this is what you want to achieve:
\documentclass{scrbook}
\usepackage{tikz-qtree}
\begin{document}
This is some text and the figure should be the size of the text not larger and not smaller.
\begin{figure}[!ht]
\begin{tikzpicture}
\Tree [.V [.{\begin{tabular}[t]{@{}l@{}} spr eliste \\ comps eliste \end{tabular}} ] [.N tree ] ]
\end{tikzpicture}
\end{figure}
This is some text and the figure should be the size of the text not larger and not smaller.
\end{document}