I carry out a similar workflow, with the NDVI calculations on Landsat data done in GRASS.
The colour is set in the program which you make the map in, i.e. the data coming out of GRASS or ERDAS is just -1 thru to +1 values in a grid in the raster.
I use the QGIS plugin Raster Colours which has two components. The 1-Band Raster Colour Table v1.0 creates the legend. The second tool Colour Scale Bar uses the data from the first to make an image file which you then display as the legend in the Map Composer.
You may have issues with the range of values which the first tool works from. I found the best work around for this is to delete all the redundant values from the new colour table, then run the Scale Bar tool, in this way you can get a legend image which runs from 0.2 - 0.8 which for my work is the most relevant NDVI values.
Note these are customised colour tables and cannot be edited outside of QGIS. Once you create a colour table you like, don't lose it!
Use the help for the plugin. You may have to google back to the authors own website to get the full story.
Note this other post - 1-band raster colour table workaround in QGIS