#Python 2, 76 bytes
Python 2, 76 bytes
lambda l:filter(lambda n:eval(("sum(map(int,`n`))**.5==int("*2)[:-6]+")"),l)
Some abuse of eval to check for a square number, rest is pretty unspectacular.
The eval statement evaluates to sum(map(int,
n))**.5==int(sum(map(int,
n))**.5)