glBufferData will allocate memory on the GPU (also, as not stated, do you also explicitly delete the old memory that you don’t use anymore ?). It will be more fast if you allocate once, and just copy into that part of memory when required (use glBufferSubData for this).
You can also have a look at glMapBuffer and glMapBufferRange. Depending on your needs and what you are doing, glBufferSubData or glMapBuffer will give you better performances.
Edit: it seems that mapping buffer function might be absent on GL ES 2. So you might have to stick with glBufferSubData.