How To Sum A Varchar Data Type
The 4.44089e-015 is most likely giving you the error by trying to convert it to a decimal. Try using float instead:

SELECT  nomen, 
        ROUND(SUM(CAST(vtc AS float)),0.00) FormatedInfo, 
        d1
FROM @GreenHouse 
GROUP BY nomen, d1 
ORDER BY d1 DESC;


The results with your sample data are:

╔═══════╦══════════════╦════════════╗
║ nomen ║ FormatedInfo ║     d1     ║
╠═══════╬══════════════╬════════════╣
║ Green ║         1850 ║ 2016-04-30 ║
║ Green ║          649 ║ 2016-01-19 ║
║ Green ║          201 ║ 2016-01-18 ║
║ Green ║          507 ║ 2016-01-14 ║
║ Green ║            0 ║ 2016-01-03 ║
╚═══════╩══════════════╩════════════╝


(yeah, I know that it converts the 4.44089e-015 value to 0, but it is expected for a float)